/*************************************************************
 * File: IMenuService.java
 * Copyright (c) 2012
 * Author: Huang Shaobin
 * Email: Shaobin.Software@gmail.com Shaobin_Software@163.com 
 * Date: Feb 23, 2013
 * Description: 
 ************************************************************/

package snow.biz.system.service;

import java.util.List;

import snow.biz.basic.service.IBaseService;
import snow.biz.system.model.Menu;
import snow.core.domain.Pagination;
import snow.core.exceptions.BusinessException;
import snow.core.persistence.Conditions;
import snow.core.persistence.Order;

/**
 * 菜单相关的服务接口
 * 
 * @author Shaobin.Software@gmail.com Shaobin_Software@163.com
 * @version 1.0
 */
public interface IMenuService extends IBaseService {

	Integer createMenuFrom(Menu menu) throws BusinessException;

	void modifyMenuFrom(Menu menu) throws BusinessException;

	/**
	 * 物理删除，小心使用
	 * 
	 * @param menu
	 * @throws BusinessException
	 */
	void deleteMenuFrom(Menu menu) throws BusinessException;

	void removeMenuFrom(Menu menu) throws BusinessException;

	Menu searchMenuFrom(Integer id);

	Pagination searchMenusForPagingFrom(Conditions conditions, List<Order> orders, int start, int limit);

	List<Menu> searchMenusFrom(Conditions conditions, List<Order> orders, int start, int limit);

}
